const fs = require('fs');
const express = require('express');

// 引入 body-parser 这个 express 中间件
const bodyParser = require('body-parser');
const app = express();

// 配置 express 中间件 请求体
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))

// parse application/json
app.use(bodyParser.json())


let comments = [
    {
        name: 'Trump',
        comment: 'It is unbelievable',
        timing: '2018-10-10'
    },
    {
        name: 'Terisa',
        comment: 'What a world',
        timing: '2018-10-12'
    },
    {
        name: 'Deekly',
        comment: 'Stupid Man',
        timing: '2018-11-19'
    },
    {
        name: 'Zera',
        comment: 'Dirty Guys',
        timing: '2018-12-01'
    },
    {
        name: 'Huston',
        comment: 'Kick His Ass',
        timing: '2018-12-04'
    }
];

// 第一个参数表示 当渲染以 .art 结尾的文件的时候，使用 art-template 模板引擎
// express-art-template 已经整合了 art-template,不需要在单独引包 ‘art-template’
// 但是 ‘art-template’必须安装
app.engine('html', require('express-art-template'));
app.use('/public/',express.static('./public/'));

// Express 为 Response 对象提供了一个方法：Render
// render 方法默认是不可以使用，但是如果配置了模板引擎就可以使用
// res.render('html模板名',{模版数据});
// 第一个参数不能写路径，因为  Express 默认的目录就是 views 目录查找该模板文件
// 也就是说 Express 有个约定：把所有的视图文件全部放在 views 目录中

// 如果想要修改默认的 views 目录，就可以
//app.set('views',需要修改的路径)

app.get('/',(req,res)=>{
    res.render('index.html',{
        comments: comments
    });
})

app.get('/post',(req,res)=>{
    res.render('post.html');
})

app.post('/post',(req,res)=>{
    let comment = req.body;
    comment.timing = '2018-12-19';
    comments.unshift(comment);
    res.redirect('/');
})

app.listen(2018,()=>{
    console.log('server is running on port 2018');
})